Example embodiments of the inventive concepts described herein relate to a semiconductor device, and more particularly, relate to a device and/or system on chip implemented with hardware having a semaphore function and/or a method for setting a semaphore.
In recent years, the use of mobile devices, such as a smart phone, a tablet PC, a digital camera, an MP3 player, and a PDA has explosively increased. In such mobile devices, driving of multimedia and throughput of various data has increased, and high-speed processors and mass storage mediums are used. A variety of application programs are driven on the mobile device. The mobile device may use semiconductor devices, such as a working memory (e.g., DRAM), a nonvolatile memory, and an application processor (hereinafter referred to as “AP”), to drive various application programs. Also, a communication processor (hereinafter referred to as “CP”) is used for a communication function. The AP and the CP that are driven by different operating systems may be often implemented in a system on chip. In at least one example embodiment, a plurality of master devices, such as the AP and the CP, may share one slave device. In particular, one slave device may be shared through one interface that allows multi-master setting. In this case, a method for sharing one slave device through one interface may be implemented using a “semaphore”.
However, the implementing of the semaphore for controlling a single slave through one interface needs a lot of software resources and increases complexity. Also, a waiting time of any master has to be fixed for scheduling of a real-time operating system at a software level. In addition, it is necessary to reduce the fixed waiting time for a fast response. As the waiting time is defined at the software level, it is difficult to secure the fast response and relatively high complexity of software.